Virtual universe desktop exploration for resource acquisition

ABSTRACT

The present invention is directed to a system, method and program product that allows a user to acquire resources from a local computer during a session with a virtual universe. Disclosed is a system that allows a user to: invocate a local operating system session that displays an operating system interface onto a client computer during a virtual universe session; navigate the operating system interface using an avatar; and acquire resources from the client computer via the operating system interface using the avatar.

FIELD OF THE INVENTION

The present invention relates to virtual environments, and morespecifically relates to a system, method and program product forproviding a virtual universe in which the user can explore and acquireresources from a local computer desktop.

BACKGROUND OF THE INVENTION

A virtual environment is an interactive simulated environment accessedby multiple users through an online interface. Users inhabit andinteract in the virtual environment via avatars, which are two orthree-dimensional graphical representations of humanoids. There are manydifferent types of virtual environments, however there are severalfeatures many virtual environments generally have in common:

-   A) Shared Space: the world allows many users to participate at once.-   B) Graphical User Interface: the environment depicts space visually,    ranging in style from 2D “cartoon” imagery to more immersive 3D    environments.-   C) Immediacy: interaction takes place in real time.-   D) Interactivity: the environment allows users to alter, develop,    build, or submit customized content.-   E) Persistence: the environment's existence continues regardless of    whether individual users are logged in.-   F) Socialization/Community: the environment allows and encourages    the formation of social groups such as teams, guilds, clubs,    cliques, housemates, neighborhoods, etc.

An avatar can have a wide range of business and social experiences. Suchbusiness and social experiences are becoming more common andincreasingly important in on-line virtual environments (e.g., universes,worlds, etc.), such as that provided in the on-line world Second Life(Second Life is a trademark of Linden Research in the United States,other countries, or both). The Second Life client program provides itsusers (referred to as residents) with tools to view, navigate, andmodify the Second Life world and participate in its virtual economy.

Second Life and other on-line virtual environments present a tremendousnew outlet for both structured and unstructured virtual collaboration,gaming and exploration, as well as real-life simulations in virtualspaces. These activities, along with yet to be disclosed new dimensions,in turn provide a wide open arena for creative and new communicationmethods and mechanisms.

As virtual environments become more involved, there may be occasionswhen it becomes desirable to bring resources (e.g., files, programs,media, etc.) into the virtual environment. For example, an avatar maywish to add a program to its inventory that performs some function forthe avatar. Current approaches do not provide an effective mechanism forachieving this task. In view of the foregoing, there exists a need foran approach that addresses at least one of the deficiencies of therelated art.

SUMMARY OF THE INVENTION

The present invention provides a system for acquiring resources from aclient computer during a session with a virtual universe. The presentinvention allows users of a virtual universe client to acquire,manipulate, and/or interact with the external resources of the localcomputer from within the virtual universe client. The invention thusallows access to resources, such as files, images, programs, businessdocuments, etc., during a virtual universe session. Once accessed, thoseresources can be brought back to the virtual universe so they may beutilized or otherwise manipulated from within the virtual universe.

A first aspect of the present invention is directed to a system foracquiring resources from a client computer during a session with avirtual universe, comprising: a system for invocating a local operatingsystem session that displays an operating system interface onto a clientcomputer during a virtual universe session; a system for navigating theoperating system interface using avatar controls; a system for acquiringresources from the client computer via the operating system interfaceusing the avatar controls; and a system for managing acquired resourcesupon return to the virtual universe session.

A second aspect of the present invention is directed to a method foracquiring resources from a client computer during a session with avirtual universe, comprising: invocating a local operating systemsession that displays an operating system interface onto a clientcomputer during a virtual universe session; navigating the operatingsystem interface using avatar controls; acquiring resources from theclient computer via the operating system interface using the avatarcontrols; and managing acquired resources upon return to the virtualuniverse session.

A third aspect of the present invention is directed to a program productstored on a computer readable medium for acquiring resources from aclient computer during a session with a virtual universe, comprising:program code for invocating a local operating system session thatdisplays an operating system interface onto a client computer during avirtual universe session; program code for navigating the operatingsystem interface using avatar controls; program code for acquiringresources from the client computer via the operating system interfaceusing the avatar controls; and program code for managing acquiredresources upon return to the virtual universe session.

A fourth aspect of the present invention is directed to a method fordeploying an application for acquiring resources from a client computerduring a session with a virtual universe, comprising: providing acomputer infrastructure being operable to: invocate a local operatingsystem session that displays an operating system interface onto a clientcomputer during a virtual universe session; navigate the operatingsystem interface using an avatar; acquire resources from the clientcomputer via the operating system interface using the avatar; and manageacquired resources upon return to the virtual universe session.

The illustrative aspects of the present invention are designed to solvethe problems herein described and other problems not discussed.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features of this invention will be more readilyunderstood from the following detailed description of the variousaspects of the invention taken in conjunction with the accompanyingdrawings.

FIG. 1 depicts a virtual universe computing platform in accordance withan embodiment of the present invention.

FIG. 2 depicts a desktop being explored by an avatar in accordance withan embodiment of the present invention.

FIG. 3 depicts a flow diagram of a method in accordance with anembodiment of the present invention.

The drawings are merely schematic representations, not intended toportray specific parameters of the invention. The drawings are intendedto depict only typical embodiments of the invention, and thereforeshould not be considered as limiting the scope of the invention. In thedrawings, like numbering represents like elements.

DETAILED DESCRIPTION OF THE INVENTION

Referring now to the drawings, FIG. 1 depicts a virtual universeinfrastructure that includes a virtual universe (VU) server system 10for implementing and serving a virtual universe 18 over a network, and aclient computer 36 for providing access for a user 32 to the virtualuniverse 18. In general, user 32 accesses virtual universe 18 from alocal operating system (OS) 40 on a client computer 36 that is running avirtual universe (VU) client 38. Client computer 36 may comprise anytype of computing device, e.g., a personal computer, a laptop, ahandheld device, etc., that provides a local OS 40 from which resources34 associated with the client computer 36 can be accessed. Local OS 40may comprise any type of now known or later developed operating system.

Within virtual universe 18 is a resource access system 20 that allows auser's avatar participating in virtual universe 18 to explore andacquire resources 34 from the local OS 40 (and vice versa). As describedbelow, resource access system 20 melds virtual universe style computingwith traditional desktop oriented computing by allowing the user'savatar to escape from the virtual universe 18 onto the interface 42(e.g., desktop) of the client computer's local OS 40. From the interface42, the avatar can acquire resources 34 such as files, application text,images, programs, etc., and then import them into the VU 18.

To implement this process, resource access system 20 includes: a localOS invocation system 22; an exploration system 24; a resourceacquisition system 26; and a resource manager 28. Note that in thisillustrative embodiment, components of resource access system 20 areshown residing within VU server system 10. However, it is understoodthat some or all of these modules may be implemented locally by VUclient 38.

Local OS invocation system 22 comprises a request mechanism that allowsuser 32 to effectively leave the virtual universe 18 (i.e., pause thevirtual universe session) and launch a local OS session that displaysthe interface 42 associated with the local OS 40. In one illustrativeembodiment, the interface 42 comprises a desktop, such as that shown inFIG. 2. The request mechanism can be implemented in any fashion, e.g.,by selecting an action from a menu, selecting an item from the avatar'sinventory, initiating the action by selecting an object rendered withinthe virtual universe 18, etc.

Once the user 32 has invocated the local OS 40, the VU client 38presently being rendered by the client computer 36 can be minimized orotherwise hidden, and interface 42 can be displayed. In the case wherethe interface 42 comprises a desktop, the desktop is displayed and theuser's avatar from the virtual universe 18 may be rendered on thedesktop.

Exploration system 24 provides the mechanism for interacting with thelocal OS 40 via avatar controls 25. Avatar controls 25 provide therendering, motions, and movements of the avatar within the interface 42.Thus, although the virtual universe session is paused, control of theavatar is still intact within the interface 42 associated with local OSsession being displayed on the client computer. Avatar controls 25 maybe implemented by the VU client 38 or a program written to interact withboth the local OS 40 and the VU client 38. While the avatar's renderingis typically always visible, exploration system 24 could be implementedusing some technique other than an avatar (e.g., a two dimensionalpointer, a voice interaction system, etc.).

User 32 may control the rendered avatar on the local OS's interface 42by using known methods for controlling avatars such as using pointingdevices or a keyboard. In the case where the interface 42 comprises adesktop, the avatar makes the corresponding movement on the desktop inresponse to a movement request from an input device. It should be notedthat while the avatar is rendered on the desktop, the user is allowed toperform the full range of interactions with the desktop, such as openingdirectories, starting applications, deleting files, etc.

Resource acquisition system 26 provides the mechanism for allowing theavatar to capture resources 34 from the client computer 36, which canthen be brought back to the virtual universe 18. Illustrative processesfor acquiring resources include, e.g., the following:

-   -   (1) Dragging files from a file system explorer onto the avatar.        That file and its contents are then made available when the        avatar returns to the virtual universe 18.    -   (2) Copying text from an application into an operating system's        short-term anonymous data store (i.e., clipboard). The avatar is        selected, and then an operating system dependant input device        operation is performed to send the contents of the data store to        the avatar (i.e., pasting in most operating systems). The        textual contents of the short-term anonymous data store are then        available when the avatar returns to the virtual universe 18.    -   (3) Loading graphics in a graphical editing program. Part or all        of an image can be selected and copied into the operating        system's short-term anonymous data store. An operating system        dependant input device operation can then be performed to send        that content to the avatar. The graphical image of the        short-term anonymous data store is potentially converted to a        known format within the virtual universe 18, and then made        available when the avatar returns to the virtual universe 18.    -   (4) Dragging a URL from the location bar within a web browser        onto the avatar. The contents of that web page, including images        and a rendering of that web page can then be made available        within the virtual universe 18.

It should be appreciated that the above actions are only illustrativeand are not intended to assert or imply any limitation with regard tothe environments in which different embodiments may be implemented. Manymodifications to the type, scope, or invocation of acceptable actionsmay be made.

The desktop avatar may acknowledge that it has received a resource 34from the local OS 40. An illustrative list of acknowledgements include:the avatar placing a graphical representation of the item into aknapsack/briefcase/other physical embodiment one might put items into; atextual bubble appearing around the avatar indicating with text orgraphics that a resource has been acquired; a potentially unique soundthat user 32 will associate with resource acquisition (e.g., knapsackzipper being opened and closed, sound of typing on a typewriter if atextual resource was acquired, a camera shutter if an image wasacquired, etc); etc.

Typically, user 32 will eventually want to return to the virtualuniverse 18, potentially with their newly acquired resources.Illustrative methods of returning to the virtual universe 18 include,but are not limited to: a key sequence, a context menu with a “returnaction” when the context menu is invoked upon the avatar, a “hot” regionof the screen that represents an exit to the virtual universe 18, etc.Once the appropriate action takes place indicating a desire to return,the local OS session can be terminated, and the virtual universe sessioncan be re-established on the client computer 36.

Upon return to the virtual universe 18 or upon user request, resourcemanager 28 manages any resources 32 acquired by the avatar from clientcomputer 36. In the case where the resources are large objects thatmight take a long time to upload to the VU database, the transfer ofobjects can be done by a separate background process, e.g., at themoment of selection, after selecting a specific batch, when the totalfile size exceeds 1 MB, etc. In these cases, the user may want to sendsome files to the VU while still browsing the desktop.

Acquired resources may be made available to the user 32 within thevirtual universe 18 in any number of ways. For example, one embodimentmay have resource manager 28 automatically place the acquired resourcesinto the avatar's inventory. Another embodiment may prompt the user 32upon return to the virtual universe 18 or upon user request forlocations for the new resources. Yet still, a different embodiment maykeep the items in a virtual knapsack and require the user to removeitems from the knapsack and place within the virtual universe 18manually. When an acquired resource is made available in the virtualuniverse, resource manager 28 can assign the resource a uniqueidentifier and store the resource in a virtual universe database 30.

If the resource manager 28 temporarily holds the object pending returnto the virtual universe 18 and/or requires any resource modification forthe virtual universe 18, the resource may be kept in temporary storagein the VU database 30.

In addition to that described above, resource access system 20 may alsobe utilized to capture and acquire resources from the virtual universeand bring them back to the client computer 36.

Furthermore, resource access system 20 may include a facility forallowing the user 32 to grant permission to other users/avatars toaccess resources from client computer 36. Various security controls suchas access control lists (ACL), authentication challenges, etc., may beimplemented to protect the user 32 from malicious or unwanted use. Forexample, user 32 may grant another user a time-limited ability to printa document to the user's printer or access the user's media player.

FIG. 2 depicts an illustrative embodiment of a desktop interface 42rendered by local OS invocation system 22 (FIG. 1). Desktop interface 42includes those items typically found on a computer interface, includinga plurality of icons 52, an explorer window (“MY STUFF”), etc. Inaddition, an avatar 54 is depicted, which is controllable by the enduser to navigate and explore the desktop 50. In this example, the avatar54 includes a sack into which resources can be collected for use back inthe virtual universe. In this case, avatar 54 has selected a file 64from the explorer window. Using, e.g., a right mouse click, an actionmenu 56 is displayed that allows the avatar to take some action, such ascopying the selected file 64 to the sack. Once the user is ready toreturn to the virtual universe, the user can, e.g., selected “return”from the action menu 56, navigate the avatar to the taskbar icon 66 forthe virtual universe, etc. FIG. 2 depicts one possible implementation,and clearly, many others are possible and fall within the scope of theinvention.

FIG. 3 depicts a flow diagram of an illustrative method of theinvention. At S1, the local OS is invocated from within the VUenvironment. At S2, the user uses his or her avatar to explore the localOS. At S3, resources are acquired from the local OS. At S4, the userexits the local OS and returns to the VU environment with acquiredresources.

Referring again to FIG. 1, VU server system 10 is shown as including aprocessing unit 12, a memory 16, at least one input/output (I/O)interface 14, and a bus 17. Further, the VU server system 10 may alsoinclude other facilities such as external devices and storage systems.In general, the processing unit 12 executes computer program code, suchas virtual universe 18, that is stored in memory 16. While executingcomputer program code, the processing unit 12 can read and/or write datafrom/to the memory 16, a storage system, and/or I/O interface(s) 14. Bus17 provides a communication link between each of the components in thecomputer system 10. External device(s) can comprise any device (e.g.,display) that enables a user 32 to interact with the VU server system 10or any device that enables the VU server system 10 to communicate withone or more other computer systems. Client computer 36 may includesimilar features.

Both client computer 36 and VU server system 10 can comprise any generalpurpose computing article of manufacture capable of executing computerprogram code installed thereon (e.g., a personal computer, server,handheld device, etc.). However, it is understood that the VU serversystem 10 is only representative of various possible computer systemsthat may perform the various processes of the invention. To this extent,in other embodiments, the client computer 36 and VU server system 10 cancomprise any specific purpose computing article of manufacturecomprising hardware and/or computer program code for performing specificfunctions, any computing article of manufacture that comprises acombination of specific purpose and general purpose hardware/software,or the like. In each case, the program code and hardware can be createdusing standard programming and engineering techniques, respectively.

Similarly, the virtual world platform shown in FIG. 1 is onlyillustrative of various types of platforms that can be used to implementthe present invention. For example, in an embodiment, the VU serversystem 10 can comprise two or more computer systems (e.g., a servercluster) that communicate over any type of wired and/or wirelesscommunications link, such as a network, a shared memory, or the like, toperform the various processes of the invention. When the communicationslink comprises a network, the network can comprise any combination ofone or more types of networks (e.g., the Internet, a wide area network,a local area network, a virtual private network, etc.). Regardless,communications between the computer systems may utilize any combinationof various types of transmission techniques.

It is understood that the various systems can be implementedindependently, combined, and/or stored in memory for one or moreseparate computer systems that communicate over a network. Further, itis understood that some of the systems and/or functionality may not beimplemented, or additional systems and/or functionality may be includedas part of the invention.

It is understood that the invention further provides various alternativeembodiments. For example, in an embodiment, the invention provides acomputer-readable medium that includes computer program code to enable acomputer infrastructure to carry out and/or implement the variousprocesses of the present invention. It is understood that the term“computer-readable medium” comprises one or more of any type of physicalembodiment of the program code. In particular, the computer-readablemedium can comprise program code embodied on one or more portablestorage articles of manufacture (e.g., a compact disc, a magnetic disk,a tape, etc.), on one or more data storage portions of a computersystem, such as the memory 36 and/or a storage system (e.g., a fixeddisk, a read-only memory, a random access memory, a cache memory, etc.),and/or as a data signal traveling over a network (e.g., during awired/wireless electronic distribution of the program code).

In another embodiment, the invention provides a business method thatperforms the processes of the invention on a subscription, advertising,and/or fee basis. A service provider can create, maintain, support,etc., a VU server system 10 that performs the processes of the inventionfor one or more customers. In return, the service provider can receivepayment from the customer(s) under a subscription and/or fee agreementand/or the service provider can receive payment from the sale ofadvertising space to one or more third parties.

In still another embodiment, a virtual universe 18 can be obtained(e.g., created, maintained, having made available to, etc.) and one ormore systems for performing the processes of the invention can beobtained (e.g., created, purchased, used, modified, etc.) and deployed.To this extent, the deployment of each system can comprise one or moreof (1) installing program code on a client computer 36, from acomputer-readable medium; (2) adding one or more computer systems to thecomputer infrastructure; and (3) incorporating and/or modifying one ormore existing systems of a computer infrastructure, to enable thecomputer infrastructure to perform the processes of the invention.

As used herein, it is understood that the terms “program code” and“computer program code” are synonymous and mean any expression, in anylanguage, code or notation, of a set of instructions intended to cause acomputer system having an information processing capability to perform aparticular function either directly or after either or both of thefollowing: (a) conversion to another language, code or notation; and (b)reproduction in a different material form. The program code can beembodied as one or more types of program products, such as anapplication/software program, component software/a library of functions,an operating system, a basic I/O system/driver for a particularcomputing and/or I/O device, and the like.

The foregoing description of the preferred embodiments of this inventionhas been presented for purposes of illustration and description. It isnot intended to be exhaustive or to limit the invention to the preciseform disclosed, and clearly, many modifications and variations arepossible.

What is claimed is:
 1. A computer system for acquiring resources from aclient computer during a user session with a virtual universe,comprising: at least one processing unit; memory operably associatedwith the at least one processing unit; a resource access system storablein memory and executable by the at least one processing unit, theresource access system comprising: computer program code for invocatinga local desktop session that displays a desktop interface onto a clientcomputer during the user session with the virtual universe, wherein thedesktop interface on the client computer has a boundary that is separateand distinct from a boundary associated with the virtual universe, theuser session with the virtual universe being paused in response toinvocating the local desktop session, wherein an avatar of a user fromthe virtual universe is rendered on the desktop interface; computerprogram code for enabling the avatar to navigate within the desktopinterface using user-manipulated avatar controls; computer program codefor permitting the avatar to acquire resources from the client computerby selecting a file from a window via the desktop interface through anaction menu that allows the avatar to copy the selected file to aninventory associated with the avatar using the user-manipulated avatarcontrols, wherein the desktop interface displays the avatar acquiringthe resources while rendered thereon; computer program code for enablingthe avatar to return to the virtual universe session with the acquiredresources from the desktop interface by selecting a return action fromthe action menu using the user-manipulated avatar controls; wherein thelocal desktop session is terminated when the user session with thevirtual universe session is reestablished; and computer program code formanaging acquired resources upon return to the virtual universe; whereinthe computer program code for managing acquired resources assignsacquired resources a unique identifier and loads the acquired resourcesinto a virtual universe database.
 2. The computer system of claim 1,further comprising a virtual universe client running on the clientcomputer.
 3. The computer system of claim 1, further comprising computerprogram code for acquiring resources from the virtual universe andloading acquired resources to the client computer.
 4. A method foracquiring resources from a client computer during a user session with avirtual universe, comprising: invocating a local desktop session thatdisplays a desktop interface onto a client computer during the usersession with the virtual universe, wherein the desktop interface on theclient computer has a boundary that is separate and distinct from aboundary associated with the virtual universe, the user session with thevirtual universe being paused in response to invocating the localdesktop session, wherein an avatar of a user from the virtual universeis rendered on the desktop interface; enabling the avatar to navigatewithin the interface using user manipulated avatar controls; permittingthe avatar to acquire resources from the client computer by selecting afile from a window via the desktop interface through an action menu thatallows the avatar to copy the selected file to an inventory associatedwith the avatar using the user-manipulated avatar controls, wherein thedesktop interface displays the avatar acquiring the resources whilerendered thereon; enabling the avatar to return to the virtual universesession with the acquired resources from the desktop interface byselecting a return action from the action menu using theuser-manipulated avatar controls, wherein the local desktop session isterminated when the user session with the virtual universe isreestablished; and managing acquired resources upon return to thevirtual universe session, wherein managing acquired resources assignsacquired resources a unique identifier and loads the acquired resourcesinto a virtual universe database.
 5. The method of claim 4, furthercomprising acquiring resources from the virtual universe and loadingacquired resources to the client computer.
 6. A program product storedon a non-transitory computer-readable medium for acquiring resourcesfrom a client computer during a user session with a virtual universe,comprising: program code for invocating a local desktop session thatdisplays a desktop interface onto a client computer during the usersession with the virtual universe, wherein the desktop interface on theclient computer has a boundary that is separate and distinct from aboundary associated with the virtual universe, the user session with thevirtual universe being paused in response to invocating the localdesktop session, wherein an avatar of a user from the virtual universeis rendered on the desktop interface; program code for enabling theavatar to navigate within the desktop interface using user-manipulatedavatar controls; program code for permitting the avatar to acquireresources from the client computer by selecting a file from a window viathe desktop interface through an action menu that allows the avatar tocopy the selected file to an inventory associated with the avatar usingthe user-manipulated avatar controls, wherein the desktop interfacedisplays the avatar acquiring the resources while rendered thereon;program code for enabling the avatar to return to the virtual universewith the acquired resources from the desktop interface by selecting areturn action from the action menu using the user-manipulated avatarcontrols, wherein the local desktop session is terminated when the usersession with the virtual universe is reestablished; and program code formanaging acquired resources upon return to the virtual universe, whereinthe program code for managing acquired resources assigns acquiredresources a unique identifier and loads the acquired resources into avirtual universe database.
 7. The program product of claim 6, furthercomprising program code for acquiring resources from the virtualuniverse and loading acquired resources to the client computer.
 8. Thecomputer system according to claim 1, wherein the acquired resources arestored in the inventory associated with the avatar upon returning to thevirtual universe with the acquired resources from the desktop interface.9. The method according to claim 4, further comprising storing theacquired resources in the inventory associated with the avatar uponreturning to the virtual universe with the acquired resources from thedesktop interface.
 10. The program product according to claim 6, furthercomprising program code for storing the acquired resources in theinventory associated with the avatar upon returning to the virtualuniverse session with the acquired resources from the desktop interface.